/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 28463
 * Date: 2022—05—13
 * Time: 9:45
 */
public class TestDemo02 {
//1.初始化对象 ———— 直接赋值
/*    //(1)在方法内部定义一个局部变量，必须初始化，否则会编译失败
    public static void main(String[] args){
        int a = 2;
        System.out.println(a);
    }*/

/*    //(2)如果是初始化对象
    public static void main(String[] args){
        Date d= new Date();
        d.printDate();
        d.setDate(2021,6,9);
        d.printDate();
    }*/

//2.初始化对象 ———— 构造方法
/*    public int year;
    public int month;
    public int day;

    //构造方法：注意
    //(1).名字和类名相同，没有返回值类型，void也不行
    //(2).在创建对象时由编译器自动调用，并且在对象的生命周期内只调用一次
    //(4).构造方法只负责给对象中的成员初始化化，不负责开辟空间
    //(5).一般使用public进行修饰
    //(3).构造方法可以重载（用户可以根据自己的需球提供不同参数的构造方法）
    //3个参数构造方法
*//*    public TestDemo02(int year, int month, int day){
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("TestDemo02(int,int,int)方法被调用了");
    }*//*
    //无参构造方法
*//*   public TestDemo02(){
        this.year = 1900;
        this.month = 1;
        this.day = 1;
    }*//*
    //构造方法中，可以通过this调用其他构造方法来简化代码
*//*
    public TestDemo02(){
        this(2022,5,13);
    }
        public TestDemo02(int year, int month, int day){
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("TestDemo02(int,int,int)方法被调用了");
    }
*//*

    public void printTestDemo02(){
        System.out.println(year + "-" + month + "-" + day);
    }
    public static void main(String[] args){
        TestDemo02 d = new TestDemo02();
        d.printTestDemo02();
    }
    //如果没有定义任何构造方法，编译器默认会生成一个不带参数的构造方法*/

//3.初始化对象 ———— 默认初始化

}
